热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

个体都会学习的JavaScript之DOM树

篇首语:本文由编程笔记#小编为大家整理,主要介绍了JavaScript之DOM树相关的知识,希望对你有一定的参考价值。目录

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Javascript之DOM树相关的知识,希望对你有一定的参考价值。


目录

一 API

二 什么是DOM树

三 DOM接口

四 总结




在了解DOM树之前,你首先要了解什么是API


一 API

1 什么是API

API基于编程语言构建的结构,是一些预定义的函数,它抽象了复杂的代码,使开发人员能更轻松的完成某种想要的功能。

2 API能做什么?

(1) 常见浏览器API:

操作文档API

操作文档的API内置于浏览器中。最明显的就是DOM(文档对象模型)API,它允许操作html、CSS,创建、删除、修改HTML,动态地将新样式应用到所制作的页面当中。再或者使页面中弹出的窗口等都是DOM

从服务器获取数据的API

用于绘制和操作图形的API等等

(2) 常见的第三方API

The Twitter API

The Google Maps API

(3)说白了,API就类似于Bootstrap框架等一众框架,已经给你写好了用途,你只要学习如何使用这些写好了的东西,就可以了


二 什么是DOM树

1 此刻先摆上定义:

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐处理可扩展标记语言(HTML或者XML)的标准编程接口。

W3C已经定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容、结构、样式。

说到这里,你也许只能看懂这一大串文字的最后一小句的一小部分吧。哦,DOM是用来改变网页的内容、结构、样式的。

那到底什么是标准编程接口?什么是DOM呢?

2 什么是DOM

文档对象模型(DOM)是HTML和XML文档的编程接口。它使得整个文档得以结构化的表现,并且定义了一种方式可以使从程序中对该结构进行访问,并且改变文档的结构、样式和内容。DOM将文档解析为一个由节点和对象(包含属性和方法的对象)组成的结构集合。

简言之,它将web页面和脚本或者程序语言连接起来

注意所有操作和创建的web页面的属性、方法和事件都会被组织成对象的形式

3 DOM和Javascript

(1)两者的关系:是两个独立的个体,但是Javascript可以访问和操作存储在DOM中的内容,也可以近似写成一个等式:

API(web或XML页面) = DOM+ JS(脚本语言)

(2)第一条中我说过两个是独立的个体,就说明两者不具有必定的捆绑关系,只是通过JS可以访问DOM树而已,因此例如Python也可以访问DOM

3 我对DOM的理解

DOM:


三 DOM接口

通过DOM接口可以访问到DOM中的一个个小节点,并且可以通过接口提供的许多属性和方法供节点使用

 

DOM中常用的核心接口以及关系阐述

上文提到接口会有对应的属性以及方法,不同接口也存在这不同的层级关系,因此接口也有方法和属性的继承,详细图标如下:

EventTarget<----- Node<-----Element<-----Document

1 Node接口&#xff1a;

Node&#xff0c;各种类型的DOM API对象会从这个接口继承。其允许我们用相似的方式对待这些不同类型的对象。eg&#xff1a;继承同一组方法&#xff0c;或者用同样的方式测试。

一下接口都从Node继承其方法和属性&#xff1a;

Dcument&#xff0c;Element&#xff0c;EventTarget等

2 Document接口&#xff1a;

Document接口表示任何在浏览器中载入的网页&#xff0c;并作为网页内容的入口&#xff0c;也就是DOM树。

3 Element接口&#xff1a;

Element是一个通用性非常强的基类&#xff0c;所有的Document对象下的对象都继承自它。

4EventTarget接口&#xff1a;

EventTarget接口由可以接收事件并且可以创建侦听器的对象实现。

Element以及子项、document和window是最常见的事件目标


四 总结

API是老大&#xff0c;是基于多种编程语言构建&#xff0c;是抽象了复杂的代码&#xff0c;帮助开发人员轻松实现各种功能的工具。API之下又分了很多小类&#xff0c;其中一项就是DOM API&#xff0c;它可以通过JS访问网页元素。同时DOM API提供了许多接口&#xff0c;接口又带有许多方法和属性&#xff0c;供修改网页的样式、内容和结构。

编写不易&#xff0c;如果对您有帮助&#xff0c;希望可以得到您的点赞支持。


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • JavaScript中属性节点的类型及应用
    本文深入探讨了JavaScript中属性节点的不同类型及其在实际开发中的应用,帮助开发者更好地理解和处理HTML元素的属性。通过具体的案例和代码示例,我们将详细解析如何操作这些属性节点。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
author-avatar
灬毋黑色灬_447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有